package com.mq.simple;

import com.mq.config.ConnectUtils;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.MessageProperties;

import java.io.IOException;
import java.net.URISyntaxException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.util.concurrent.TimeoutException;

public class HelloWorldSend {

    //队列的名称
    private final static String QUEUE_NAME = "HELLO";

    public static void sendMsg() throws URISyntaxException, KeyManagementException, TimeoutException, NoSuchAlgorithmException, IOException {
        //1. 获取连接
        Connection connect = ConnectUtils.getConnect();
        //2. 创建通道
        Channel channel = connect.createChannel();
        //3. 创建队列 持久化， 非排他，非自动删除的队列
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        //4. 发送消息
        String msg = "测试中文";

        //参数列表
//        第一个 字符串：exchange_name
//        第二个 字符串：队列名称
//        第三个 消息格式( text-文本 json ...)
//        第四个 byte 格式的 消息内容
        channel.basicPublish("", QUEUE_NAME, MessageProperties.TEXT_PLAIN, msg.getBytes());
        //5. 关闭通道
        channel.close();
        //6. 关闭连接
        connect.close();
    }

    public static void main(String[] args) throws KeyManagementException, TimeoutException, NoSuchAlgorithmException, IOException, URISyntaxException {
        HelloWorldSend.sendMsg();
    }
}
